/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.sadhar.sipp.perekamankelompokrka;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.sadhar.sia.common.ClassConnection;
import org.springframework.jdbc.core.RowMapper;

/**
 *
 * @author hendro
 */
public class PerekamanKelompokRKADAOImpl implements PerekamanKelompokRKADAO{

    public List<PerekamanKelompokRKA> list() throws Exception {
        List<PerekamanKelompokRKA> list = new ArrayList<PerekamanKelompokRKA>();
        List<Map> rows = ClassConnection.getJdbc().queryForList("SELECT * FROM ppmk.kelompokRKA ORDER BY kodePosBiaya");
        for(Map m : rows){
            PerekamanKelompokRKA kelompokRKA = new PerekamanKelompokRKA();
            kelompokRKA.setKodeKelompokKegiatan(Integer.valueOf(m.get("kodeKelompokKegiatan").toString()));
            kelompokRKA.setKodePosBiaya(Integer.valueOf(m.get("kodePosBiaya").toString()));
            list.add(kelompokRKA);
        }
        return list;
    }

    public void insert(PerekamanKelompokRKA kelompokRKA) throws Exception {
        String sql = "INSERT INTO ppmk.kelompokRKA(kodePosBiaya,kodeKelompokKegiatan) VALUES(?,?)";
        ClassConnection.getJdbc().update(sql,new Object[]{
            kelompokRKA.getKodePosBiaya(),
            kelompokRKA.getKodeKelompokKegiatan()
        });
    }

    public List list(int kodeKelompokKegiatan) throws Exception {
        return  ClassConnection.getJdbc().queryForList("SELECT * FROM ppmk.kelompokRKA WHERE kodeKelompokKegiatan=?",
                new Object[]{kodeKelompokKegiatan});
    }

    public PerekamanKelompokRKA select(int kodeKelompokKegiatan) throws Exception {
        PerekamanKelompokRKA rka = null;
        return rka = (PerekamanKelompokRKA)ClassConnection.getJdbc().queryForObject("SELECT * FROM ppmk.kelompokRKA WHERE kodeKelompokKegiatan=?",
                new Object[]{kodeKelompokKegiatan},new RowMapper() {

            public Object mapRow(ResultSet rs, int numRow) throws SQLException {
                return new PerekamanKelompokRKA(rs.getInt("kodePosBiaya"), rs.getInt("kodeKelompokKegiatan"));
            }
        });
    }

    

}
